﻿layui.use(['table', 'laypage', 'layer'], function () {
    var laypage = layui.laypage;
    var layer = layui.layer;
    var table = layui.table;
    var form = layui.form;
    var $ = layui.$;
    upload = layui.upload;

    // 获取从视图中嵌入的 ApiUrl
    var apiUrl = $('#apiUrl').data('url');

    $(function () {
        // 初始化加载数据
        getListData();
    })
     //初始化表格渲染（首次加载数据）
      window.getListData  = function getListData() {
        layui.use(function () {
          // 先进行表格的初始渲染
            table.render({
                elem: '#carriertable',  // 表格元素的选择器
                page: {
                    limit: 5,
                    limits: [5, 8, 10]
                },
                cols: [[
                    { type: 'checkbox', fixed: 'left' },
                    { field: 'qualityNumber', title: '质检编号', width: 150 },
                    { field: 'materialNumber', title: '原料编号', width: 150 },
                    { field: 'materialName', title: '原料名称', width: 150 },
                    { field: 'batchNumber', title: '原料批次号', width: 150 },
                    { field: 'qualityTime', title: '质检日期', width: 150 },
                    { field: 'qualityNum', title: '质检数量', width: 150 },
                    { field: 'acceptanceQuantity', title: '合格数量', width: 150 },
                    { field: 'unqualifiedQuantity', title: '不合格数量', width: 150 },
                    { field: 'qualityS', title: '状态', width: 150 },
                    //{ fixed: 'right', title: '操作', toolbar: '#materDemo', width: 150 },
                    {
                        field: '', title: '操作', templet: function (d) {
                            if (d.qualityS === '不合格') {
                                return '<a href="javascript:void(0);" class="layui-btn layui-btn-edit layui-btn-xs" onclick="showSRaw(' + d.rawMaterialQualityId + ')"><i class="layui-icon layui-icon-edit"></i>复检</a> ' +
                                    '<a href="javascript:void(0);" class="layui-btn layui-btn-edit layui-btn-xs" onclick="showData(' + d.rawMaterialQualityId + ')"><i class="layui-icon layui-icon-edit"></i>详情</a> ' +
                                    '<a href="javascript:void(0);" class="layui-btn layui-btn-edit layui-btn-xs" onclick="editData(' + d.rawMaterialQualityId + ')"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
                                    '<a href="javascript:void(0);" class="layui-btn layui-btn-danger layui-btn-xs disabled" onclick="return false;"><i class="layui-icon layui-icon-delete"></i>删除（禁用）</a>';

                            } else if (d.qualityS === '合格') {
                                return'<a href="javascript:void(0);" class="layui-btn layui-btn-edit layui-btn-xs" onclick="showData(' + d.rawMaterialQualityId + ')"><i class="layui-icon layui-icon-edit"></i>详情</a> ' +
                                        '<a href="javascript:void(0);" class="layui-btn layui-btn-edit layui-btn-xs" onclick="editData(' + d.rawMaterialQualityId + ')"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
                                    '<a href="javascript:void(0);" class="layui-btn layui-btn-danger layui-btn-xs" onclick="deleteData(' + d.rawMaterialQualityId + ')"><i class="layui-icon layui-icon-delete"></i>删除</a>';

                            }

                        }
                    }

                ]],
                parseData: function (res) { // 将原始数据解析成 table 组件所规定的数据
                            return {
                                "code": res.code, // 解析状态码
                                "msg": res.message, // 解析状态信息
                                "count": res.data.length, // 解析数据总长度（这里可能需要后端调整，因为通常count应该是总数）
                                "data": res.data // 解析数据列表

                            };
                        },
                // 初始时可以先不加载数据，等待 ajax 请求成功后再更新
                data: []
            });
            var MaterialNumber = $('#MaterialNumber').val();
            var QualityNumber = $('#QualityNumber').val();
            var status = $('#statusSelect').val();
            // 创建表格实例
            $.ajax({
                url: "../Quality/ShowMaterialss",
                type: "get",
                data: {
                    RNumber: MaterialNumber,
                    MNumber: QualityNumber,
                    State: status,
                    token: "",
                  
                },
        success: function (data) {
                    data = JSON.parse(data);
                    console.log(data.data);
                    // 在 ajax 请求成功后，使用正确的表格 ID 进行 reload
                    table.reload('carriertable', {
                        page: {
                            limit: 5,
                            limits: [5, 8, 10]
                        },
                        data: data.data
                    });
                },
                error: function () {
                    console.log("请求失败");
                }
            });
        });
    }
       //显示
    //function getListData() {
    //    var MaterialNumber = $('#MaterialNumber').val();
    //    var QualityNumber = $('#QualityNumber').val();
    //    var status = $('#statusSelect').val();
    //    table.render({
    //        elem: '#materialTable',
    //        url: 'http://localhost:65178/api/RawMaterialQuality/GetList', // 数据接口
    //        where: {
    //            RNumber: MaterialNumber,
    //            MNumber: QualityNumber,
    //            State: status
    //        },
    //        page: true, // 开启分页

    //        cols: [[
    //            { type: 'checkbox', fixed: 'left' },
    //            { field: 'qualityNumber', title: '质检编号', width: 150 },
    //            { field: 'materialNumber', title: '原料编号', width: 150 },
    //            { field: 'materialName', title: '原料名称', width: 150 },
    //            { field: 'batchNumber', title: '原料批次号', width: 150 },
    //            { field: 'qualityTime', title: '质检日期', width: 150 },
    //            { field: 'qualityNum', title: '质检数量', width: 150 },
    //            { field: 'acceptanceQuantity', title: '合格数量', width: 150 },
    //            { field: 'unqualifiedQuantity', title: '不合格数量', width: 150 },
    //            { field: 'qualityS', title: '状态', width: 150 },

    //            {
    //                field: '', title: '操作', toolbar: '#materDemo', width: 150
    //            }


    //        ]],
    //        parseData: function (res) { // 将原始数据解析成 table 组件所规定的数据
    //            return {
    //                "code": res.code, // 解析状态码
    //                "msg": res.message, // 解析状态信息
    //                "count": res.data.length, // 解析数据总长度（这里可能需要后端调整，因为通常count应该是总数）
    //                "data": res.data // 解析数据列表

    //            };
    //        }
    //    });
    //}

    //导出
    //导出
    //document.getElementById('exportBtn').addEventListener('click', function () {
    //    var checkStatus = table.checkStatus('materialTable');  // 获取当前表格的选中状态
    //    var selectedData = checkStatus.data;  // 获取选中的数据
    //    if (selectedData.length === 0) {
    //        alert('请先选择要导出的数据!');
    //        return;
    //    }
    //    var filteredData = selectedData.map(function (item) {
    //        // 创建一个新对象，只包含您想要的属性
    //        return {
    //            'Id': item.id,
    //            '质检编号':item.qualityNumber,
    //            '原料编号':item.materialNumber,
    //            '原料名称':item.materialName,
    //            '原料批次号':item.batchNumber,
    //            '质检日期':item.qualityTime,
    //            '质检数量':item.qualityNum,
    //            '合格数量':item.acceptanceQuantity,
    //            '不合格数量':item.unqualifiedQuantity,
    //            '状态':item.qualityS,
    //            '创建人': item.createdBy,
    //            '创建时间': item.createdDate,
    //            '修改人': item.updatedBy,
    //            '修改时间': item.updatedDate,
    //            '删除人': item.deletedBy,
    //            '删除时间': item.deletedDate,
    //            '是否删除': item.isDeleted
    //        };
    //    });

    //    // 使用 XLSX 导出选中的数据
    //    var wb = XLSX.utils.book_new();
    //    var ws = XLSX.utils.json_to_sheet(filteredData); // 将选中的数据转换为工作表
    //    XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');

    //    // 导出为 Excel 文件
    //    XLSX.writeFile(wb, '原料质检列表数据.xlsx');
    //});

    //// 监听工具条
    //table.on('tool(materialTable)', function (obj) {
    //    var data = obj.data;
    //    console.log(data)
    //    if (obj.event === 'edit') {
    //        // 编辑操作（无论状态如何都可编辑）
    //        editData(data.rawMaterialQualityId)
    //    } else if (obj.event === 'view') {
    //        // 详情操作（无论状态如何都可查看）
    //        editDatashow(data.rawMaterialQualityId)
    //    } else if (obj.event === 'delete') {

    //        // 发送请求到服务器来执行停工操作
    //        layer.confirm('确定删除吗？', function (index) {
    //            DelWorkshop(data.rawMaterialQualityId); // 调用删除函数删除
           
    //            layer.close(index);
    //        });
    //    } else if (obj.event === 'recheck') {
    //        // 恢复操作（仅当状态为异常时显示并可执行）
    //        // 发送请求到服务器来恢复状态
    //        layer.confirm('确定复检吗？', function (index) {
                
    //            layer.close(index);
    //        });
    //    }
    //});

    ////查询表单
    //$('#searchMaterial').on('click', function () {
    //    getListData();
    //});

    //// 重置表单
    //$('#resetForm').click(function () {
    //    $('#MaterialNumber').val('');
    //    $('#QualityNumber').val('');
    //    $('#statusSelect').val('');
    //    form.render('select'); // 重新渲染select选择框
    //    getListData(); // 重置后重新查询
    //});

    //$('#AddMaterial').on('click', function () {
    //    window.location.href = '/Quality/AddMaterial';
    //})

    //// 监听文件选择
    //$('#uploadBtn').on('click', function () {
    //    $('#fileInput').trigger('click');
    //});

    //// 文件上传事件
    //$('#fileInput').on('change', function (event) {
    //    var file = event.target.files[0];
    //    if (file) {
    //        var reader = new FileReader();
    //        reader.onload = function (e) {
    //            var data = e.target.result;
    //            var workbook = XLSX.read(data, { type: 'binary' });
    //            var sheetName = workbook.SheetNames[0];
    //            var sheet = workbook.Sheets[sheetName];
    //            var jsonData = XLSX.utils.sheet_to_json(sheet, { header: 1 });

    //            // 向服务器发送 Excel 数据
    //            $.ajax({
    //                url: '/Home/ImportData',  // 后端接口地址
    //                type: 'POST',
    //                data: JSON.stringify({ data: jsonData }),
    //                contentType: 'application/json',
    //                success: function (response) {
    //                    alert('导入成功！');
    //                },
    //                error: function (error) {
    //                    alert('导入失败！');
    //                }
    //            });
    //        };
    //        reader.readAsBinaryString(file);
    //    }
    //});
    //删除
    window.deleteData=function deleteData(rawMaterialQualityId) {

        $.ajax({
            type: "post",
            url: "../Quality/IsDeleteRaw",  // 替换为实际的后台删除数据接口地址
            data: { RawMaterialQualityId: rawMaterialQualityId, token: localStorage.getItem("token") },
            success: function (res) {
                console.log(res)
                var res = JSON.parse(res)
                if (res.code == 1) {
                    layer.alert("删除成功");
                    getListData();  // 重新加载数据，刷新表格显示
                } else {
                    layer.alert("删除失败");

                }
            },
            error: function () {
                layer.msg('删除失败，请稍后重试', {
                    time: 2000,
                    icon: 2
                });
            }
        });
    }
  
    //复检跳转
    window.showSRaw = function showSRaw(rawMaterialQualityId) {
        localStorage['rawMaterialQualityId'] = rawMaterialQualityId;

        //localStorage.setItem("purchaseID", purchaseID)
        //console.log(localStorage.getItem("purchaseID"))
        location.href = '/Quality/ReInfIndexCreate';

    }
    //编辑跳转
    window.editData =function editData(rawMaterialQualityId) {
        localStorage['rawMaterialQualityId'] = rawMaterialQualityId;

        //localStorage.setItem("purchaseID", purchaseID)
        //console.log(localStorage.getItem("purchaseID"))
        location.href = '/Quality/UpdateRaw';
    
    }
    //详情跳转
    window.showData = function showData(rawMaterialQualityId) {
        localStorage['rawMaterialQualityId'] = rawMaterialQualityId;

        //localStorage.setItem("purchaseID", purchaseID)
        //console.log(localStorage.getItem("purchaseID"))
        location.href = '/Quality/GetIdRaw';

    }
})